package xjtu.sad.zbsj.user.login.impl;

import xjtu.sad.zbsj.user.login.LoginDto;
import xjtu.sad.zbsj.user.login.LoginService;
import xjtu.sad.zbsj.user.login.User;
import xjtu.sad.zbsj.user.login.dao.LoginDao;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.Calendar;


/**
 * @author lkm
 */
@Service
@Transactional
public class LoginServiceImpl implements LoginService {

    @Resource
    private LoginDao loginDao;

    @Override
    public boolean checkLogin(LoginDto dto) {
        int cnt = loginDao.findCountByUserIdAndPassword(dto);
        return cnt > 0;
    }


    @Override
    public User getUserById(String u_id) {
        User user = loginDao.findUserById(u_id);
        return user;
    }

    @Override
    public String getRole(LoginDto dto) {
        return loginDao.getRole(dto.getU_id());
    }

    @Override
    public String getRole2(LoginDto dto) {
        return loginDao.getRole2(dto);
    }

    @Override
    public String getRole3(LoginDto dto) {
        return loginDao.getRole3(dto);
    }

//    @Override
//    public void addLogTime(LoginDto dto){
//        Calendar cal =Calendar.getInstance();
//        int year = cal.get(Calendar.YEAR);
//        int month = cal.get(Calendar.MONTH) + 1;
//        String mon = month<10 ? ("0"+month):(""+month);
//        int day = cal.get(Calendar.DAY_OF_MONTH);
//        String d = day<10 ? ("0"+day):(""+day);
//        String prefix= "L" + year + mon + d;
//        String newNum = loginDao.findLoginNewNum(prefix);
//        dto.setL_id(prefix+newNum);
//        System.out.println(prefix+newNum);
//
//        dto.setP_id("P202111060001");
//        loginDao.addLogTime(dto);
//    }

    @Override
    public String getUser(LoginDto dto){

        String plain = dto.getU_pwd();
        //dto.setU_pwd(Md5Utils.string2Md5(plain));
        String u_id = loginDao.getUser(dto);
        //dto.setU_pwd(plain);
        return u_id;

    }

    @Override
    public String getUserId(String eml) {

        String u_id = loginDao.getUserId(eml);

        return u_id;
    }

    @Override
    public String getUserPwd(String eml) {

        String u_pwd = loginDao.getUserPwd(eml);

        return u_pwd;
    }

    @Override
    public String findUid(LoginDto dto) {
        return loginDao.findUid(dto);
    }
}
